package com.github.llyb120.dsl


class DataSetDsl2 extends AbstractDslMaker {

    protected DslParser createParser() {
        return parser {
            element "generate", {
                root true
                property "fileName"
                property "field", {
                    multiple true
                    type Object
                }
                property "num", {
                    type int
                }
            }

            element "field", {
                constructor "label"
                constructor "label", "generator"
                constructor "label", "generator", "params"
                property "label"
                property "generator"
                property "params", {
                    type(Map)
                }
            }
//            /** generator **/
//            element "generator", {
//                root true
//                property "name"
//                property "handler", {
//                    type Closure
//                }
//            }
//
//            element "dataset", {
//                root true
//                property "field", {
//                    multiple true
//                    type Object.class
//                }
//            }
//            element "field", {
//                constructor "en", "cn", "converter"
//                property "en"
//                property "cn"
//                property "converter"
//            }
//
//
//            element "converter", {
//                root true
//                property "name"
//                property "input", {
//                    type Closure
//                }
//                property "output", {
//                    type Closure
//                }
//            }
//
//
//            element "scope", {
//                property "name", {}
//                property "input", {
//                    type Map
//                }
//            }


        }
    }
}


static void main(String[] args) {
    new DataSetDsl2()
            .generate("D:\\work\\cal-engine\\src\\main\\java\\com\\github\\llyb120\\performance\\test", "com.github.llyb120.performance.test")
}

